package week9;

import java.util.HashMap;
import java.util.Map;

/**
 *
 * 242. 有效的字母异位词
 * https://leetcode-cn.com/problems/valid-anagram/
 *
 * 执行结果：  通过  显示详情
 *
 * 添加备注
 * 执行用时：15 ms, 在所有 Java 提交中击败了20.16% 的用户
 * 内存消耗：38.8 MB, 在所有 Java 提交中击败了28.57% 的用户
 * 通过测试用例：35 / 35
 * 炫耀一下:
 *
 *
 */
public class Week9ValidAnagram {

    public boolean isAnagram(String s, String t) {
        boolean valid = false;
        if(s.length() == t.length()) {
            Map<Character, Integer> table = new HashMap<Character, Integer>();
            for(int size = 0; size < s.length(); size++) {
                char c = s.charAt(size);
                table.put(c, table.getOrDefault(c, 0) + 1);
            }

            for(int size = 0; size < t.length(); size++) {
                char c = t.charAt(size);
                table.put(c, table.getOrDefault(c, 0) - 1);
                if(table.get(c) < 0) {
                    return valid;
                }
            }
            valid = true;
        }
        return valid;
    }
}
